使用 new 来分配内存

前面我们将指针初始化为变量的地址;变量是在编译时分配的有名称的内存,而指针只是为可以通过名称直接访问的内存提供了一个别名。

指针真正的用武之地在于,在运行阶段分配未命名的内存以存储值。在这种情况下,只能通过指针来访问内存。

    C语言使用 malloc()来分配内存
    C++使用new运算符

    int* p = new int; // 在运行阶段为一个int值分配未命名的内存,并使用指针来访问这个值
    *p = 100;

对于指针,需要指出的另一点是,new分配的内存块通常与常规变量声明分配的内存块不同。变量的值都存储在被称为栈(stack)的内存区域中,而new从被称为堆(heap)或自由存储区(free store)的内存区域分配内存。

🔚